package com.innovations.inn.service;

import com.innovations.inn.domain.ResearchAccountApply;
import java.util.List;

/**
 * 科研账号申请Service接口
 *
 * @author dp
 * @date 2024-08-23
 */
public interface IResearchAccountApplyService {
    /**
     * 查询科研账号申请
     *
     * @param applyId 科研账号申请主键
     * @return 科研账号申请
     */
    public ResearchAccountApply selectResearchAccountApplyByApplyId(Long applyId);

    /**
     * 查询科研账号申请列表
     *
     * @param researchAccountApply 科研账号申请
     * @return 科研账号申请集合
     */
    List<ResearchAccountApply> selectResearchAccountApplyList(ResearchAccountApply researchAccountApply);

    /**
     * 新增科研账号申请
     *
     * @param researchAccountApply 科研账号申请
     * @return 结果
     */
    int insertResearchAccountApply(ResearchAccountApply researchAccountApply);

    /**
     * 修改科研账号申请
     *
     * @param researchAccountApply 科研账号申请
     * @return 结果
     */
    int updateResearchAccountApply(ResearchAccountApply researchAccountApply);

    /**
     * 批量删除科研账号申请
     *
     * @param applyIds 需要删除的科研账号申请主键集合
     * @return 结果
     */
    int deleteResearchAccountApplyByApplyIds(Long[] applyIds);

    /**
     * 删除科研账号申请信息
     *
     * @param applyId 科研账号申请主键
     * @return 结果
     */
    int deleteResearchAccountApplyByApplyId(Long applyId);

    /**
     * 实体数据补全
     *
     * @param researchAccountApply 实体
     * @param userId               用户id
     * @param crateType            创建类型 1：新增 2：修改
     */
    void completeData(ResearchAccountApply researchAccountApply, Long userId, Integer crateType);
}
